#include "stm32f10x.h" // Device header
#include "PWM.h"

/**
 * PWM频率：	Freq = CK_PSC / (PSC + 1) / (ARR + 1) = 50Hz(20ms)
 * PWM占空比：	Duty = CCR / (ARR + 1)				  = 7.5%(1.5ms)
 * PWM分辨率：	Reso = 1 / (ARR + 1) 				  = 0.00005
 *
 * PSC = 72 - 1
 * ARR = 20000 - 1
 * CCR = 1500
 *
 * >=1.1 ms ---- 正向最大转速
 * 1.5 ms ---- 零转速
 * <=1.9 ms ---- 反向最大转速
 */

void Servo_Init(void)
{
    PWM_Init();
}

/**
 * @brief 设置360度舵机1的占空比，调整旋转速度，以此调节角度
 * @param Servo1_Speed 以ms为单位，对应360度舵机的占空比
 */
void Servo1_SetAngle(float Servo1_Speed)
{
    PWM_SetCompare2(Servo1_Speed * 100); // 修改TIM_CH2 CCR值，调整占空比
}

/**
 * @brief 设置360度舵机2的占空比，调整旋转速度，以此调节角度
 * @param Servo2_Speed 以ms为单位，对应360度舵机的占空比
 */
void Servo2_SetAngle(float Servo2_Speed)
{
    PWM_SetCompare3(Servo2_Speed * 100); // 修改TIM_CH3 CCR值，调整占空比
}
